home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
MATH
/
MATH2
/
POWERI.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1985-05-17
|
2KB
|
56 lines
(*--------------------------------------------------------------------------*)
(* PowerI -- raise real to integer power *)
(*--------------------------------------------------------------------------*)
FUNCTION PowerI( x: REAL; i: INTEGER ) : REAL;
(*--------------------------------------------------------------------------*)
(* *)
(* Function: PowerI *)
(* *)
(* Purpose: Performs exponentiation of real to integer power. *)
(* *)
(* Calling Sequence: *)
(* *)
(* Powval := Power( x : REAL; i: INTEGER ) : REAL; *)
(* *)
(* x --- base *)
(* i --- power to raise base to *)
(* *)
(* Calls: None *)
(* *)
(*--------------------------------------------------------------------------*)
VAR
Temp: REAL;
AbsI: INTEGER;
BEGIN (* PowerI *)
IF i < 0 THEN
BEGIN
i := -i;
IF x <> 0.0 THEN x := 1.0 / x;
END;
Temp := 1.0;
WHILE( i > 0 ) DO
BEGIN
WHILE ( NOT ODD( i ) ) DO
BEGIN
i := i DIV 2;
x := x * x;
END;
i := i - 1;
Temp := Temp * x;
END;
PowerI := Temp;
END (* PowerI *);